教程:在 ASP.NET Core 中开始使用 Razor Pages 您所在的位置:网站首页 aspnet web开发 教程:在 ASP.NET Core 中开始使用 Razor Pages

教程:在 ASP.NET Core 中开始使用 Razor Pages

2023-11-28 11:26| 来源: 网络整理| 查看: 265

教程:在 ASP.NET Core 中开始使用 Razor Pages 项目 10/13/2023

注意

此版本不是本文的最新版本。 对于当前版本,请参阅此文的 .NET 8 版本。

作者:Rick Anderson

本教程是系列教程中的第一个教程,介绍生成 ASP.NET Core Razor 页面 Web 应用的基础知识。

有关面向熟悉控制器和视图的开发人员的更高级介绍,请参阅 Razor Pages 简介。 有关视频简介,请参阅适用于初学者的 Entity Framework Core。

如果你是 ASP.NET Core 开发新手,且不确定哪种 ASP.NET Core Web UI 解决方案最适合自己的需要,请参阅选择 ASP.NET Core UI。

在本教程结束时,你将拥有一个管理电影数据库的 Razor Pages Web 应用。

先决条件 Visual Studio Visual Studio Code Visual Studio for Mac

Visual Studio 2022 预览版与“ASP.NET 和 Web 开发”工作负载。

Visual Studio Code 用于 Visual Studio Code 的 C#(最新版本) .NET 8.0 SDK

Visual Studio Code 说明使用用于 ASP.NET Core 的 .NET CLI 开发功能,如项目创建。 可在(macOS、Linux 或 Windows)上或在任何代码编辑器中遵循这些说明。 如果使用 Visual Studio Code 以外的其他内容,则可能需要进行少量更改。

Visual Studio 2022 for Mac(最新版本)

在 Visual Studio 2022 for Mac 中,选择“工具”>“首选项...”>“预览功能”,并启用“如果已安装则使用 .NET 8 SDK(需要重启)”。

重要

Microsoft 已宣布停用 Visual Studio for Mac。 从 2024 年 8 月 31 日起,将不再支持 Visual Studio for Mac。 替代方案包括:

带有 C# 开发工具包 和相关扩展(如 .NET MAUI 和 Unity)的 Visual Studio Code。 在 Mac 虚拟机中的 Windows 上运行的 Visual Studio IDE。 在云虚拟机中的 Windows 上运行的 Visual Studio IDE。

有关详细信息,请参阅 Visual Studio for Mac 停用公告。

创建 Razor 页面 Web 应用 Visual Studio Visual Studio Code Visual Studio for Mac

启动 Visual Studio,然后选择“新建项目”。

在“新建项目”对话框中,选择“ASP.NET Core Web 应用(Razor 页面)”>“下一步”。

在“配置新项目”对话框中,为“项目名称”输入 RazorPagesMovie。 请务必将项目命名为“RazorPagesMovie”(包括匹配大小写),这样在复制和粘贴代码时命名空间就会匹配。

选择“下一步”。

在“其他信息”对话框中:

选择“.NET 8.0(长期支持)”。 验证是否未选中“不使用顶级语句”。

选择“创建”。

创建以下初学者项目:

有关创建项目的替代方法,请参阅在 Visual Studio 中创建新项目。

本教程假定用户熟悉 VS Code。 有关详细信息,请参阅 VS Code入门。

从“终端”菜单中选择“新建终端”以打开集成终端。

更改为将包含项目的目录 (cd)。

运行以下命令:

dotnet new webapp -o RazorPagesMovie code -r RazorPagesMovie

dotnet new 命令在“RazorPagesMovie”文件夹中新建 Razor Pages 项目。

code 命令在 Visual Studio Code 的当前实例中打开“RazorPagesMovie”文件夹。

Visual Studio Code 可能会显示一个对话框,询问:“你是否信任此文件夹中的文件作者?”

如果你信任父文件夹中的所有文件,请选择“信任父文件夹中所有文件的作者”。 选择“是,我信任所有作者”,因为项目文件夹包含 .NET 生成的文件。 当 Visual Studio Code 请求你添加资产来生成和调试项目时,请选择“是”。 如果 Visual Studio Code 不提供添加生成和调试资产的功能,请选择“视图”>“命令面板”,然后在搜索框中输入“.NET”。 从命令列表中选择 .NET: Generate Assets for Build and Debug 命令。

Visual Studio Code 添加了一个包含生成的 launch.json 和 tasks.json 文件的 .vscode 文件夹。

在 Visual Studio for Mac 2022 中,选择“文件”>“新建项目...”。

在“为新项目选择一个模板”对话框中:

选择“Web 和控制台”>“应用”>“Web 应用程序”。 选择“继续”。

在“配置新的 Web 应用”对话框中:

验证“目标框架”是否设置为 NET 8.0(或更高版本)。 验证“身份验证”是否设置为“不进行身份验证”。 验证是否未选中“不使用顶级语句”。 选择“继续”。

在“配置新的 Web 应用”对话框中:

为“项目名称”输入 RazorPagesMovie。 请务必将项目命名为“RazorPagesMovie”(包括匹配大小写),这样在复制和粘贴代码时命名空间就会匹配。 选择“创建” 。 运行应用 Visual Studio Visual Studio Code Visual Studio for Mac

在“解决方案资源管理器”中选择“RazorPagesMovie”,然后按 Ctrl+F5 以在不使用调试程序的情况下运行 。

如果尚未将项目配置为使用 SSL,Visual Studio 显示以下对话:

如果信任 IIS Express SSL 证书,请选择“是”。

将显示以下对话框:

如果你同意信任开发证书,请选择“是”。

有关信任 Firefox 浏览器的信息,请参阅 Firefox SEC_ERROR_INADEQUATE_KEY_USAGE 证书错误。

Visual Studio:

运行应用,启动 Kestrel 服务器。 在 https://localhost: 处启动默认浏览器,显示应用 UI。 是创建应用时分配的随机端口。

通过运行以下命令来信任 HTTPS 开发证书:

dotnet dev-certs https --trust

上述命令在 Linux 上无效。 有关信任证书的详细信息,请参阅 Linux 发行版的文档。

如果证书以前不受信任,上述命令显示以下对话:

如果你同意信任开发证书,请选择“是”。

有关详细信息,请参阅信任 ASP.NET Core HTTPS 开发证书。

有关信任 Firefox 浏览器的信息,请参阅 Firefox SEC_ERROR_INADEQUATE_KEY_USAGE 证书错误。

在 Visual Studio Code 中,按 Ctrl+F5 运行应用。 在“选择环境”提示符下,选择“.NET Core” 。

默认浏览器通过以下 URL 启动:https://localhost:,其中 是随机生成的端口号。

选择“调试”>“开始调试”以启动应用。

Visual Studio for Mac 启动浏览器并导航到 https://localhost:,其中 是在创建项目时随机分配的端口号,并在 Properties/launchSettings.json 中设置。

检查项目文件

以下部分概述了你将在后续教程中使用的主要项目文件夹和文件。

Pages 文件夹

包含 Razor 页面和支持文件。 每个 Razor 页面都是一对文件:

一个 .cshtml 文件,其中包含使用 Razor 语法的 C# 代码的 HTML 标记。 一个 .cshtml.cs 文件,其中包含处理页面事件的 C# 代码。

支持文件的名称以下划线开头。 例如,_Layout.cshtml 文件可配置所有页面通用的 UI 元素。 _Layout.cshtml 设置页面顶部的导航菜单和页面底部的版权声明。 有关详细信息,请参阅 ASP.NET Core 中的布局。

wwwroot 文件夹

包含静态资产,如 HTML 文件、JavaScript 文件和 CSS 文件。 有关详细信息,请参阅 ASP.NET Core 中的静态文件。

appsettings.json

包含配置数据,如连接字符串。 有关详细信息,请参阅 ASP.NET Core 中的配置。

Program.cs

包含以下代码:

var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddRazorPages(); var app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.MapRazorPages(); app.Run();

此文件中的以下代码行会创建一个带有预配置默认值的 WebApplicationBuilder,向依赖关系注入 (DI) 容器添加 Razor Pages 支持,并生成应用:

var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddRazorPages(); var app = builder.Build();

开发人员异常页默认启用,并提供有关异常的有用信息。 生产应用不得在开发模式中运行,原因是开发人员异常页可能会泄露敏感信息。

下面的代码会将异常终结点设置为 /Error,并且当应用未在开发模式中运行时,启用 HTTP 严格传输安全协议 (HSTS):

// Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); }

例如,当应用在生产或测试模式中时,会运行前面的代码。 有关详细信息,请参阅在 ASP.NET Core 中使用多个环境。

下列代码会启用各种中间件:

app.UseHttpsRedirection();:将 HTTP 请求重定向到 HTTPS。 app.UseStaticFiles();:使能够提供 HTML、CSS、映像和 JavaScript 等静态文件。 有关详细信息,请参阅 ASP.NET Core 中的静态文件。 app.UseRouting();:向中间件管道添加路由匹配。 有关详细信息,请参阅 ASP.NET Core 中的路由 app.MapRazorPages();:为 Razor Pages 配置终结点路由。 app.UseAuthorization();:授权用户访问安全资源。 此应用不使用授权,因此可删除此行。 app.Run();:运行应用。 用完成的示例进行故障排除

如果遇到无法解决的问题,请将你的代码与完成的项目进行比较。 查看或下载已完成的项目(如何下载)。

后续步骤

下一篇:添加模型

本教程是系列教程中的第一个教程,介绍生成 ASP.NET Core Razor 页面 Web 应用的基础知识。

有关面向熟悉控制器和视图的开发人员的更高级介绍,请参阅 Razor Pages 简介。 有关视频简介,请参阅适用于初学者的 Entity Framework Core。

如果你是 ASP.NET Core 开发新手,且不确定哪种 ASP.NET Core Web UI 解决方案最适合自己的需要,请参阅选择 ASP.NET Core UI。

在本教程结束时,你将拥有一个管理电影数据库的 Razor Pages Web 应用。

先决条件 Visual Studio Visual Studio Code Visual Studio for Mac

带有 ASP.NET 和 Web 开发工作负载的 Visual Studio 2022。

Visual Studio Code 用于 Visual Studio Code 的 C#(最新版本) .NET 7.0 SDK

Visual Studio Code 说明使用用于 ASP.NET Core 的 .NET CLI 开发功能,如项目创建。 可在(macOS、Linux 或 Windows)上或在任何代码编辑器中遵循这些说明。 如果使用 Visual Studio Code 以外的其他内容,则可能需要进行少量更改。

Visual Studio 2022 for Mac

重要

Microsoft 已宣布停用 Visual Studio for Mac。 从 2024 年 8 月 31 日起,将不再支持 Visual Studio for Mac。 替代方案包括:

带有 C# 开发工具包 和相关扩展(如 .NET MAUI 和 Unity)的 Visual Studio Code。 在 Mac 虚拟机中的 Windows 上运行的 Visual Studio IDE。 在云虚拟机中的 Windows 上运行的 Visual Studio IDE。

有关详细信息,请参阅 Visual Studio for Mac 停用公告。

创建 Razor 页面 Web 应用 Visual Studio Visual Studio Code Visual Studio for Mac

启动 Visual Studio 并选择“创建新项目”。

在“创建新项目”对话框中,选择“ASP.NET Core Web 应用”>“下一步”。

在“配置新项目”对话框中,为“项目名称”输入 RazorPagesMovie。 请务必将项目命名为“RazorPagesMovie”(包括匹配大小写),这样在复制和粘贴代码时命名空间就会匹配。

选择“下一步”。

在“其他信息”对话框中:

选择“.NET 7.0 (标准期限支持)”。 验证是否未选中“不使用顶级语句”。

选择“创建”。

创建以下初学者项目:

有关创建项目的替代方法,请参阅在 Visual Studio 中创建新项目。

本教程假定用户熟悉 VS Code。 有关详细信息,请参阅 VS Code入门。

从“终端”菜单中选择“新建终端”以打开集成终端。

更改为将包含项目的目录 (cd)。

运行以下命令:

dotnet new webapp -o RazorPagesMovie code -r RazorPagesMovie

dotnet new 命令在“RazorPagesMovie”文件夹中新建 Razor Pages 项目。

code 命令在 Visual Studio Code 的当前实例中打开“RazorPagesMovie”项目文件夹。

Visual Studio Code 可能会显示一个对话框,询问:“你是否信任此文件夹中的文件作者?”

如果你信任父文件夹中的所有文件,请选择“信任父文件夹中所有文件的作者”。 选择“是,我信任所有作者”,因为项目文件夹包含 .NET 生成的文件。 当 Visual Studio Code 请求你添加资产来生成和调试项目时,请选择“是”。 如果 Visual Studio Code 不提供添加生成和调试资产的功能,请选择“视图”>“命令面板”,然后在搜索框中输入“.NET”。 从命令列表中选择 .NET: Generate Assets for Build and Debug 命令。

Visual Studio Code 添加了一个包含生成的 launch.json 和 tasks.json 文件的 .vscode 文件夹。

在 Visual Studio for Mac 2022 中,选择“文件”>“新建项目...”。

在“为新项目选择一个模板”对话框中:

选择“Web 和控制台”>“应用”>“Web 应用程序”。 选择“继续”。

在“配置新的 Web 应用”对话框中:

验证“目标框架”是否设置为“NET 7.0”(或更高版本)。 验证“身份验证”是否设置为“不进行身份验证”。 验证是否未选中“不使用顶级语句”。 选择“继续”。

在“配置新的 Web 应用”对话框中:

为“项目名称”输入 RazorPagesMovie。 请务必将项目命名为“RazorPagesMovie”(包括匹配大小写),这样在复制和粘贴代码时命名空间就会匹配。 选择“创建” 。 运行应用 Visual Studio Visual Studio Code Visual Studio for Mac

在“解决方案资源管理器”中选择“RazorPagesMovie”,然后按 Ctrl+F5 以在不使用调试程序的情况下运行 。

如果尚未将项目配置为使用 SSL,Visual Studio 显示以下对话:

如果信任 IIS Express SSL 证书,请选择“是”。

将显示以下对话框:

如果你同意信任开发证书,请选择“是”。

有关信任 Firefox 浏览器的信息,请参阅 Firefox SEC_ERROR_INADEQUATE_KEY_USAGE 证书错误。

Visual Studio:

运行应用,启动 Kestrel 服务器。 在 https://localhost: 处启动默认浏览器,显示应用 UI。 是创建应用时分配的随机端口。

通过运行以下命令来信任 HTTPS 开发证书:

dotnet dev-certs https --trust

上述命令在 Linux 上无效。 有关信任证书的详细信息,请参阅 Linux 发行版的文档。

如果证书以前不受信任,上述命令显示以下对话:

如果你同意信任开发证书,请选择“是”。

有关详细信息,请参阅信任 ASP.NET Core HTTPS 开发证书。

有关信任 Firefox 浏览器的信息,请参阅 Firefox SEC_ERROR_INADEQUATE_KEY_USAGE 证书错误。

在 Visual Studio Code 中,按 Ctrl+F5 运行应用。 在“选择环境”提示符下,选择“.NET Core” 。

默认浏览器通过以下 URL 启动:https://localhost:,其中 是随机生成的端口号。

选择“调试”>“开始调试”以启动应用。

Visual Studio for Mac 启动浏览器并导航到 https://localhost:,其中 是在创建项目时随机分配的端口号,并在 Properties/launchSettings.json 中设置。

检查项目文件

以下部分概述了你将在后续教程中使用的主要项目文件夹和文件。

Pages 文件夹

包含 Razor 页面和支持文件。 每个 Razor 页面都是一对文件:

一个 .cshtml 文件,其中包含使用 Razor 语法的 C# 代码的 HTML 标记。 一个 .cshtml.cs 文件,其中包含处理页面事件的 C# 代码。

支持文件的名称以下划线开头。 例如,_Layout.cshtml 文件可配置所有页面通用的 UI 元素。 _Layout.cshtml 设置页面顶部的导航菜单和页面底部的版权声明。 有关详细信息,请参阅 ASP.NET Core 中的布局。

wwwroot 文件夹

包含静态资产,如 HTML 文件、JavaScript 文件和 CSS 文件。 有关详细信息,请参阅 ASP.NET Core 中的静态文件。

appsettings.json

包含配置数据,如连接字符串。 有关详细信息,请参阅 ASP.NET Core 中的配置。

Program.cs

包含以下代码:

var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddRazorPages(); var app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.MapRazorPages(); app.Run();

此文件中的以下代码行会创建一个带有预配置默认值的 WebApplicationBuilder,向依赖关系注入 (DI) 容器添加 Razor Pages 支持,并生成应用:

var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddRazorPages(); var app = builder.Build();

开发人员异常页默认启用,并提供有关异常的有用信息。 生产应用不得在开发模式中运行,原因是开发人员异常页可能会泄露敏感信息。

下面的代码会将异常终结点设置为 /Error,并且当应用未在开发模式中运行时,启用 HTTP 严格传输安全协议 (HSTS):

// Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); }

例如,当应用在生产或测试模式中时,会运行前面的代码。 有关详细信息,请参阅在 ASP.NET Core 中使用多个环境。

下列代码会启用各种中间件:

app.UseHttpsRedirection();:将 HTTP 请求重定向到 HTTPS。 app.UseStaticFiles();:使能够提供 HTML、CSS、映像和 JavaScript 等静态文件。 有关详细信息,请参阅 ASP.NET Core 中的静态文件。 app.UseRouting();:向中间件管道添加路由匹配。 有关详细信息,请参阅 ASP.NET Core 中的路由 app.MapRazorPages();:为 Razor Pages 配置终结点路由。 app.UseAuthorization();:授权用户访问安全资源。 此应用不使用授权,因此可删除此行。 app.Run();:运行应用。 用完成的示例进行故障排除

如果遇到无法解决的问题,请将你的代码与完成的项目进行比较。 查看或下载已完成的项目(如何下载)。

后续步骤

下一篇:添加模型

本教程是系列教程中的第一个教程,介绍生成 ASP.NET Core Razor 页面 Web 应用的基础知识。

有关面向熟悉控制器和视图的开发人员的更高级介绍,请参阅 Razor Pages 简介。 有关视频简介,请参阅适用于初学者的 Entity Framework Core。

如果你是 ASP.NET Core 开发新手,且不确定哪种 ASP.NET Core Web UI 解决方案最适合自己的需要,请参阅选择 ASP.NET Core UI。

在本系列结束时,你将拥有一个管理电影数据库的应用。

在本教程中,你将了解:

创建 Razor 页面 Web 应用。 运行应用。 检查项目文件。

在本教程结束时,你将有一个工作的 Razor Pages Web 应用。在后续教程中,你可以在其基础上进行增强。

先决条件 Visual Studio Visual Studio Code Visual Studio for Mac 带有 ASP.NET 和 Web 开发工作负载的 Visual Studio 2022。 .NET 6.0 SDK Visual Studio Code 用于 Visual Studio Code 的 C#(最新版本) .NET 6.0 SDK

Visual Studio Code 说明使用用于 ASP.NET Core 的 .NET CLI 开发功能,如项目创建。 可在(macOS、Linux 或 Windows)上或在任何代码编辑器中遵循这些说明。 如果使用 Visual Studio Code 以外的其他内容,则可能需要进行少量更改。

Visual Studio 2022 for Mac 最新预览

重要

Microsoft 已宣布停用 Visual Studio for Mac。 从 2024 年 8 月 31 日起,将不再支持 Visual Studio for Mac。 替代方案包括:

带有 C# 开发工具包 和相关扩展(如 .NET MAUI 和 Unity)的 Visual Studio Code。 在 Mac 虚拟机中的 Windows 上运行的 Visual Studio IDE。 在云虚拟机中的 Windows 上运行的 Visual Studio IDE。

有关详细信息,请参阅 Visual Studio for Mac 停用公告。

创建 Razor 页面 Web 应用 Visual Studio Visual Studio Code Visual Studio for Mac

启动 Visual Studio 2022 并选择“创建新项目”。

在“创建新项目”对话框中,选择“ASP.NET Core Web 应用”,然后选择“下一步”。

在“配置新项目”对话框中,为“项目名称”输入 RazorPagesMovie。 请务必将项目命名为“RazorPagesMovie”(包括匹配大小写),这样在复制和粘贴代码时命名空间就会匹配。

选择“下一步”。

在“其他信息”对话框中,选择“.NET 6.0 (长期支持)”,然后选择“创建”。

创建以下初学者项目:

本教程假定用户熟悉 VS Code。 有关详细信息,请参阅 VS Code入门。

从“终端”菜单中选择“新建终端”以打开集成终端。

更改为将包含项目的目录 (cd)。

运行以下命令:

dotnet new webapp -o RazorPagesMovie code -r RazorPagesMovie

dotnet new 命令在“RazorPagesMovie”文件夹中新建 Razor Pages 项目。

code 命令在 Visual Studio Code 的当前实例中打开“RazorPagesMovie”项目文件夹。

Visual Studio Code 可能会显示一个对话框,询问:“你是否信任此文件夹中的文件作者?”

如果你信任父文件夹中的所有文件,请选择“信任父文件夹中所有文件的作者”。 选择“是,我信任所有作者”,因为项目文件夹包含 .NET 生成的文件。 当 Visual Studio Code 请求你添加资产来生成和调试项目时,请选择“是”。 如果 Visual Studio Code 不提供添加生成和调试资产的功能,请选择“视图”>“命令面板”,然后在搜索框中输入“.NET”。 从命令列表中选择 .NET: Generate Assets for Build and Debug 命令。

Visual Studio Code 添加一个包含生成的 launch.json 和 tasks.json 文件的 .vscode 文件夹。

选择“文件”>“新建解决方案”>。

在 Visual Studio 2022 for Mac 中,选择“Web 和控制台”>“应用”>“Web 应用程序”>“下一步”。

在“配置新的 Web 应用”对话框中:

确认“目标框架”已设置为最新的 .NET 6.x 版本。 确认已将“身份验证”设置为“无身份验证”。 选择“下一步”。

将项目命名为“PagesMovie”,然后选择“创建”Razor。

运行应用 Visual Studio Visual Studio Code Visual Studio for Mac

在“解决方案资源管理器”中选择“RazorPagesMovie”,然后按 Ctrl+F5 以在不使用调试程序的情况下运行 。

如果尚未将项目配置为使用 SSL,Visual Studio 显示以下对话:

如果信任 IIS Express SSL 证书,请选择“是”。

将显示以下对话框:

如果你同意信任开发证书,请选择“是”。

有关信任 Firefox 浏览器的信息,请参阅 Firefox SEC_ERROR_INADEQUATE_KEY_USAGE 证书错误。

Visual Studio:

运行应用,启动 Kestrel 服务器。 在 https://localhost:5001 处启动默认浏览器,显示应用 UI。

通过运行以下命令来信任 HTTPS 开发证书:

dotnet dev-certs https --trust

上述命令在 Linux 上无效。 有关信任证书的详细信息,请参阅 Linux 发行版的文档。

如果证书以前不受信任,上述命令显示以下对话:

如果你同意信任开发证书,请选择“是”。

有关详细信息,请参阅信任 ASP.NET Core HTTPS 开发证书。

有关信任 Firefox 浏览器的信息,请参阅 Firefox SEC_ERROR_INADEQUATE_KEY_USAGE 证书错误。

在 Visual Studio Code 中,按 Ctrl+F5 运行应用。 在“选择环境”提示符下,选择“.NET Core” 。

默认浏览器通过以下 URL 启动:https://localhost:5001

选择“调试”>“开始调试”以启动应用。 Visual Studio for Mac 启动浏览器并导航到 https://localhost:,其中 是在创建项目时随机分配的端口号,并在 Properties/launchSettings.json 中设置。

检查项目文件

以下部分概述了你将在后续教程中使用的主要项目文件夹和文件。

Pages 文件夹

包含 Razor 页面和支持文件。 每个 Razor 页面都是一对文件:

一个 .cshtml 文件,其中包含使用 Razor 语法的 C# 代码的 HTML 标记。 一个 .cshtml.cs 文件,其中包含处理页面事件的 C# 代码。

支持文件的名称以下划线开头。 例如,_Layout.cshtml 文件可配置所有页面通用的 UI 元素。 此文件设置页面顶部的导航菜单和页面底部的版权声明。 有关详细信息,请参阅 ASP.NET Core 中的布局。

wwwroot 文件夹

包含静态资产,如 HTML 文件、JavaScript 文件和 CSS 文件。 有关详细信息,请参阅 ASP.NET Core 中的静态文件。

appsettings.json

包含配置数据,如连接字符串。 有关详细信息,请参阅 ASP.NET Core 中的配置。

Program.cs

包含以下代码:

var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddRazorPages(); var app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.MapRazorPages(); app.Run();

此文件中的以下代码行会创建一个带有预配置默认值的 WebApplicationBuilder,向依赖项注入 (DI) 容器添加 Razor Pages 支持,并生成应用:

var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddRazorPages(); var app = builder.Build();

开发人员异常页默认启用,并提供有关异常的有用信息。 生产应用不得在开发模式中运行,原因是开发人员异常页可能会泄露敏感信息。

下面的代码会将异常终结点设置为 /Error,并且当应用未在开发模式中运行时,启用 HTTP 严格传输安全协议 (HSTS):

// Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); }

例如,当应用在生产或测试模式中时,会运行前面的代码。 有关详细信息,请参阅在 ASP.NET Core 中使用多个环境。

下列代码会启用各种中间件:

app.UseHttpsRedirection();:将 HTTP 请求重定向到 HTTPS。 app.UseStaticFiles();:使能够提供 HTML、CSS、映像和 JavaScript 等静态文件。 有关详细信息,请参阅 ASP.NET Core 中的静态文件。 app.UseRouting();:向中间件管道添加路由匹配。 有关详细信息,请参阅 ASP.NET Core 中的路由 app.MapRazorPages();:为 Razor Pages 配置终结点路由。 app.UseAuthorization();:授权用户访问安全资源。 此应用不使用授权,因此可删除此行。 app.Run();:运行应用。 用完成的示例进行故障排除

如果遇到无法解决的问题,请将你的代码与完成的项目进行比较。 查看或下载已完成的项目(如何下载)。

后续步骤

下一篇:添加模型

本教程是系列教程中的第一个教程,介绍生成 ASP.NET Core Razor 页面 Web 应用的基础知识。

有关面向熟悉控制器和视图的开发人员的更高级介绍,请参阅 Razor Pages 简介。

如果你是 ASP.NET Core 开发新手,且不确定哪种 ASP.NET Core Web UI 解决方案最适合自己的需要,请参阅选择 ASP.NET Core UI。

在本系列结束时,你将拥有一个管理电影数据库的应用。

在本教程中,你将了解:

创建 Razor 页面 Web 应用。 运行应用。 检查项目文件。

在本教程结束时,你将有一个工作的 Razor Pages Web 应用。在后续教程中,你可以在其基础上进行增强。

先决条件 Visual Studio Visual Studio Code Visual Studio for Mac 具有“ASP.NET 和 Web 开发”工作负载的 Visual Studio 2019 16.8 或更高版本 .NET 5.0 SDK Visual Studio Code C# for Visual Studio Code(最新版本) .NET 5.0 SDK

Visual Studio Code 说明使用用于 ASP.NET Core 的 .NET CLI 开发功能,如项目创建。 可在(macOS、Linux 或 Windows)上或在任何代码编辑器中遵循这些说明。 如果使用 Visual Studio Code 以外的其他内容,则可能需要进行少量更改。

Visual Studio for Mac .NET 5.0 SDK 创建 Razor 页面 Web 应用 Visual Studio Visual Studio Code Visual Studio for Mac

启动 Visual Studio 并选择“创建新项目”。 有关详细信息,请参阅在 Visual Studio 中新建项目。

在“创建新项目”对话框中,选择“ASP.NET Core Web 应用程序”,然后选择“下一步”。

在“配置新项目”对话框中,为“项目名称”输入 RazorPagesMovie。 请务必将项目命名为“RazorPagesMovie”(包括匹配大小写),这样在复制和粘贴代码时命名空间就会匹配。

选择“创建”。

在“创建新的 ASP.NET Core Web 应用程序”对话框中,选择:

下拉列表中的“.NET Core”和“ASP.NET Core 5.0”。 Web 应用程序。 创建。

创建以下初学者项目:

本教程假定用户熟悉 VS Code。 有关详细信息,请参阅 VS Code入门。

从“终端”菜单中选择“新建终端”以打开集成终端。

更改为将包含项目的目录 (cd)。

运行以下命令:

dotnet new webapp -o RazorPagesMovie code -r RazorPagesMovie

dotnet new 命令在“RazorPagesMovie”文件夹中新建 Razor Pages 项目。

code 命令在 Visual Studio Code 的当前实例中打开“RazorPagesMovie”项目文件夹。

Visual Studio Code 可能会显示一个对话框,询问:“你是否信任此文件夹中的文件作者?”

如果你信任父文件夹中的所有文件,请选择“信任父文件夹中所有文件的作者”。 选择“是,我信任所有作者”,因为项目文件夹包含 .NET 生成的文件。 当 Visual Studio Code 请求你添加资产来生成和调试项目时,请选择“是”。 如果 Visual Studio Code 不提供添加生成和调试资产的功能,请选择“视图”>“命令面板”,然后在搜索框中输入“.NET”。 从命令列表中选择 .NET: Generate Assets for Build and Debug 命令。

Visual Studio Code 添加一个包含生成的 launch.json 和 tasks.json 文件的 .vscode 文件夹。

选择“文件”>“新建解决方案”>。

在版本 8.6 之前的 Visual Studio for Mac 中,依次选择“.NET Core”>“应用”>“Web 应用程序”>“下一步”。 在版本 8.6 或更高版本中,依次选择“Web 和控制台”>“应用”>“Web 应用程序”>“下一步”。

在“配置新的 Web 应用程序”对话框中:

确认已将“身份验证”设置为“无身份验证”。 如果看到用于选择“目标框架”的选项,请选择最新的 .NET 5.x 版本。 选择“下一步”。

将项目命名为“PagesMovie”,然后选择“创建”Razor。

运行应用 Visual Studio Visual Studio Code Visual Studio for Mac

按 Ctrl+F5 以在不使用调试程序的情况下运行。

如果尚未将项目配置为使用 SSL,Visual Studio 显示以下对话:

如果信任 IIS Express SSL 证书,请选择“是”。

将显示以下对话框:

如果你同意信任开发证书,请选择“是”。

有关信任 Firefox 浏览器的信息,请参阅 Firefox SEC_ERROR_INADEQUATE_KEY_USAGE 证书错误。

Visual Studio 启动 IIS Express 并运行应用。 地址栏显示 localhost:port#,而不是显示 example.com。 这是因为 localhost 是本地计算机的标准主机名。 Localhost 仅为来自本地计算机的 Web 请求提供服务。 Visual Studio 创建 Web 项目时,Web 服务器使用的是随机端口。

通过运行以下命令来信任 HTTPS 开发证书:

dotnet dev-certs https --trust

上述命令在 Linux 上无效。 有关信任证书的详细信息,请参阅 Linux 发行版的文档。

如果证书以前不受信任,上述命令显示以下对话:

如果你同意信任开发证书,请选择“是”。

有关详细信息,请参阅信任 ASP.NET Core HTTPS 开发证书。

有关信任 Firefox 浏览器的信息,请参阅 Firefox SEC_ERROR_INADEQUATE_KEY_USAGE 证书错误。

按 Ctrl-F5 以在不使用调试程序的情况下运行。

Visual Studio Code 启动 Kestrel,启动浏览器并导航到 http://localhost:5001。 地址栏显示 localhost:port#,而不是显示 example.com。 这是因为 localhost 是本地计算机的标准主机名。 Localhost 仅为来自本地计算机的 Web 请求提供服务。

选择“运行”>“开始执行(不调试)”以启动应用 。

Visual Studio for Mac:

启动 Kestrel 服务器。 启动浏览器。 导航到 http://localhost:port,其中 port 是随机选择的端口号。

Visual Studio for Mac 会显示以下弹出窗口:

如果你信任开发证书,请选择“是”。

将显示以下对话框:

输入你的密码,然后选择“确定”

如果你同意信任开发证书,请选择“是”。

有关详细信息,请参阅信任 ASP.NET Core HTTPS 开发证书。

在 Visual Studio 中,按“Opt-Cmd-Return”可在不使用调试器的情况下运行。 或者,导航到菜单栏,转到“运行”>“在不调试的情况下启动”。

Visual Studio 启动 Kestrel,启动浏览器并导航到 http://localhost:5001。

检查项目文件

下面是主项目文件夹和文件的概述,将在后续教程中使用。

Pages 文件夹

包含 Razor 页面和支持文件。 每个 Razor 页面都是一对文件:

一个 .cshtml 文件,其中包含使用 Razor 语法的 C# 代码的 HTML 标记。 一个 .cshtml.cs 文件,其中包含处理页面事件的 C# 代码。

支持文件的名称以下划线开头。 例如,_Layout.cshtml 文件可配置所有页面通用的 UI 元素。 此文件设置页面顶部的导航菜单和页面底部的版权声明。 有关详细信息,请参阅 ASP.NET Core 中的布局。

wwwroot 文件夹

包含静态资产,如 HTML 文件、JavaScript 文件和 CSS 文件。 有关详细信息,请参阅 ASP.NET Core 中的静态文件。

appsettings.json

包含配置数据,如连接字符串。 有关详细信息,请参阅 ASP.NET Core 中的配置。

Program.cs

包含应用的入口点。 有关详细信息,请参阅 ASP.NET Core 中的 .NET 通用主机。

Startup.cs

包含配置应用行为的代码。 有关详细信息,请参阅 ASP.NET Core 中的应用启动。

用完成的示例进行故障排除

如果遇到无法解决的问题,请将你的代码与完成的项目进行比较。 查看或下载已完成的项目(如何下载)。

后续步骤

下一篇:添加模型

本教程是系列教程中的第一个教程,介绍生成 ASP.NET Core Razor 页面 Web 应用的基础知识。

有关面向熟悉控制器和视图的开发人员的更高级介绍,请参阅 Razor Pages 简介。

在本系列结束时,你将拥有一个管理电影数据库的应用。

查看或下载示例代码(如何下载)。

在本教程中,你将了解:

创建 Razor 页面 Web 应用。 运行应用。 检查项目文件。

在本教程结束时,你将有一个工作的 Razor 页面 Web 应用。在后续教程中,你可以在其基础上进行构建。

先决条件 Visual Studio Visual Studio Code Visual Studio for Mac 具有“ASP.NET 和 Web 开发”工作负载的 Visual Studio 2019 16.4 或更高版本 .NET Core 3.1 SDK Visual Studio Code 用于 Visual Studio Code 的 C#(最新版本) .NET Core 3.1 SDK

Visual Studio Code 说明使用用于 ASP.NET Core 的 .NET Core CLI 开发功能,如项目创建。 可在任何平台(macOS、Linux 或 Windows)上或在任何代码编辑器中遵循这些说明。 如果使用 Visual Studio Code 以外的其他内容,则可能需要进行少量更改。 有关在 macOS 上安装 Visual Studio Code 的详细信息,请参阅 macOS 上的 Visual Studio Code。

Visual Studio for Mac 版本 8.4 或更高版本 .NET Core 3.1 SDK 创建 Razor 页面 Web 应用 Visual Studio Visual Studio Code Visual Studio for Mac

从 Visual Studio“文件”菜单中选择“新建”>“项目”。

创建新的 ASP.NET Core Web 应用程序,然后选择“下一步”。

将项目命名为“RazorPagesMovie”。 请务必将项目命名为“RazorPagesMovie”,这样在复制和粘贴代码时命名空间就会匹配。

在下拉列表中选择“ASP.NET Core 3.1”,然后依次选择“Web 应用程序”和“创建”。

创建以下初学者项目:

打开集成终端。

更改为将包含项目的目录 (cd)。

运行以下命令:

dotnet new webapp -o RazorPagesMovie code -r RazorPagesMovie dotnet new 命令在“RazorPagesMovie”文件夹中新建 Razor Pages 项目。 code 命令在 Visual Studio Code 的当前实例中打开“RazorPagesMovie”文件夹。

在状态栏的 OmniSharp 火焰图标变绿后,对话框就会询问“'RazorPagesMovie' 缺少生成和调试所需的资产,是否添加?”选择“是”。

将向项目的根目录添加包含 launch.json 和 tasks.json 文件的 .vscode 目录。

如果 Visual Studio Code 没有自动添加资产,请参阅用于 ASP.NET Core Blazor 的工具中的 Linux 操作系统指南。

选择“文件”>“新建解决方案”>。

在版本 8.6 之前的 Visual Studio for Mac 中,依次选择“.NET Core”>“应用”>“Web 应用程序”>“下一步”。 在版本 8.6 或更高版本中,依次选择“Web 和控制台”>“应用”>“Web 应用程序”>“下一步”。

在“配置新的 Web 应用程序”对话框中:

确认已将“身份验证”设置为“无身份验证”。 如果看到用于选择“目标框架”的选项,请选择最新的 3.x 版本。

选择“下一步”。

将项目命名为“RazorPagesMovie”,然后选择“创建”。

运行应用 Visual Studio Visual Studio Code Visual Studio for Mac

按 Ctrl+F5 以在不使用调试程序的情况下运行。

如果尚未将项目配置为使用 SSL,Visual Studio 显示以下对话:

如果信任 IIS Express SSL 证书,请选择“是”。

将显示以下对话框:

如果你同意信任开发证书,请选择“是”。

有关信任 Firefox 浏览器的信息,请参阅 Firefox SEC_ERROR_INADEQUATE_KEY_USAGE 证书错误。

Visual Studio 启动 IIS Express 并运行应用。 地址栏显示 localhost:port#,而不是显示 example.com。 这是因为 localhost 是本地计算机的标准主机名。 Localhost 仅为来自本地计算机的 Web 请求提供服务。 Visual Studio 创建 Web 项目时,Web 服务器使用的是随机端口。

通过运行以下命令来信任 HTTPS 开发证书:

dotnet dev-certs https --trust

上述命令在 Linux 上无效。 有关信任证书的详细信息,请参阅 Linux 发行版的文档。

如果证书以前不受信任,上述命令显示以下对话:

如果你同意信任开发证书,请选择“是”。

有关详细信息,请参阅信任 ASP.NET Core HTTPS 开发证书。

有关信任 Firefox 浏览器的信息,请参阅 Firefox SEC_ERROR_INADEQUATE_KEY_USAGE 证书错误。

按 Ctrl-F5 以在不使用调试程序的情况下运行。

Visual Studio Code 启动 Kestrel,启动浏览器并导航到 http://localhost:5001。 地址栏显示 localhost:port#,而不是显示 example.com。 这是因为 localhost 是本地计算机的标准主机名。 Localhost 仅为来自本地计算机的 Web 请求提供服务。

选择“运行”>“开始执行(不调试)”以启动应用 。

Visual Studio for Mac:

启动 Kestrel 服务器。 启动浏览器。 导航到 http://localhost:port,其中 port 是随机选择的端口号。

Visual Studio for Mac 会显示以下弹出窗口:

如果你信任开发证书,请选择“是”。

将显示以下对话框:

输入你的密码,然后选择“确定”

如果你同意信任开发证书,请选择“是”。

有关详细信息,请参阅信任 ASP.NET Core HTTPS 开发证书。

在 Visual Studio 中,按“Opt-Cmd-Return”可在不使用调试器的情况下运行。 或者,导航到菜单栏,转到“运行”>“在不调试的情况下启动”。

Visual Studio 启动 Kestrel,启动浏览器并导航到 http://localhost:5001。

检查项目文件

下面是主项目文件夹和文件的概述,将在后续教程中使用。

Pages 文件夹

包含 Razor 页面和支持文件。 每个 Razor 页面都是一对文件:

一个 .cshtml 文件,其中包含使用 Razor 语法的 C# 代码的 HTML 标记。 一个 .cshtml.cs 文件,其中包含处理页面事件的 C# 代码。

支持文件的名称以下划线开头。 例如,_Layout.cshtml 文件可配置所有页面通用的 UI 元素。 此文件设置页面顶部的导航菜单和页面底部的版权声明。 有关详细信息,请参阅 ASP.NET Core 中的布局。

wwwroot 文件夹

包含静态文件,如 HTML 文件、JavaScript 文件和 CSS 文件。 有关详细信息,请参阅 ASP.NET Core 中的静态文件。

appSettings.json

包含配置数据,如连接字符串。 有关详细信息,请参阅 ASP.NET Core 中的配置。

Program.cs

包含程序的入口点。 有关详细信息,请参阅 ASP.NET Core 中的 .NET 通用主机。

Startup.cs

包含配置应用行为的代码。 有关详细信息,请参阅 ASP.NET Core 中的应用启动。

后续步骤

下一篇:添加模型



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有